package com.stylefeng.guns.api.film;

import com.stylefeng.guns.api.film.vo.*;

import java.util.List;

/**
 * @author dengwubo
 */

public interface FilmServiceApi {

    /**
     * 获取 banners
     * @return
     */
    List<BannerVO> getBanners();

    /**
     * 获取热映影片
     * @param isLimit
     * @param nums
     * @return
     */
    FilmVO getHotFilms(boolean isLimit,int nums,int nowPage,int sortId,int sourceId, int yearId, int catId);

    /**
     * 获取即将上映的影片[受欢迎程度排序]
     * @param isLimit
     * @param nums
     * @return
     */
    FilmVO getSoonFilms(boolean isLimit,int nums,int nowPage,int sortId,int sourceId, int yearId, int catId);


    /**
     * 获取经典影片[受欢迎程度排序]
     * @param nums
     * @param nowPage
     * @param sortId
     * @param sourceId
     * @param yearId
     * @param catId
     * @return
     */
    FilmVO getClassicFilms(int nums,int nowPage,int sortId,int sourceId, int yearId, int catId);


    /**
     * 获取票房排行榜
     * @return
     */
    List<FilmInfo> getBoxRanking();

    /**
     * 获取人气排行榜
     * @return
     */
    List<FilmInfo> getExpectRanking();

    /**
     * 获取Top100
     * @return
     */
    List<FilmInfo> getTop();


    /**
     * 获取影片分类条件
     * @return
     */
    List<CatVO> getCats();

    /**
     * 获取片源条件
     * @return
     */
    List<SourceVO> getSources();

    /**
     * 获取年代条件
     * @return
     */
    List<YearVO> getYears();


    /**
     * 根据影片ID或者名称获取影片信息
     * @param searchType 1-按名称查找 2-按ID查找
     * @param searchParam
     * @return
     */
    FilmDetailVO getFilmDetail(int searchType,String searchParam);

    /**
     * 获取影片描述信息
     * @param filmId
     * @return
     */
    FilmDescVO getFilmDesc(String filmId);

    /**
     * 获取图片信息
     * @param filmId
     * @return
     */
    ImgVO getImgs(String filmId);

    /**
     * 获取导演信息
     * @param filmId
     * @return
     */
    ActorVO getDirectorInfo(String filmId);

    /**
     * 获取演员信息
     * @param filmId
     * @return
     */
    List<ActorVO> getActors(String filmId);


}
